﻿using System;
using System.Collections.Generic;
using System.Text;

namespace WeChatSDK.WeChatDto.MP
{
    /// <summary>
    /// 微信模式群发模型
    /// </summary>
    public class MPDto
    {
        /// <summary>
        /// 群发的消息类型，图文消息为mpnews，文本消息为text，语音为voice，音乐为music，图片为image，视频为video，卡券为wxcard
        /// 不允许为空
        /// </summary>
        public string Msgtype { get; set; }
        /// <summary>
        /// 开发者侧群发msgid，长度限制64字节，如不填，则后台默认以群发范围和群发内容的摘要值做为clientmsgid。
        /// 群发接口新增 clientmsgid 参数，开发者调用群发接口时可以主动设置 clientmsgid 参数，避免重复推送。
        /// 群发时，微信后台将对 24 小时内的群发记录进行检查，如果该 clientmsgid 已经存在一条群发记录，则会拒绝本次群发请求，
        /// 返回已存在的群发msgid，开发者可以调用“查询群发消息发送状态”接口查看该条群发的状态。
        /// </summary>
        public string Clientmsgid { get; set; }
    }

    /// <summary>
    /// 用于设定图文消息的接收者
    /// </summary>
    public class MPFilterDto
    {
        /// <summary>
        /// 用于设定是否向全部用户发送，值为true或false，选择true该消息群发给所有用户，选择false可根据tag_id发送给指定群组的用户
        /// 允许为空
        /// </summary>
        public bool? IsToAll { get; set; }
        /// <summary>
        /// 群发到的标签的tag_id，参见用户管理中用户分组接口，若is_to_all值为true，可不填写tag_id
        /// 允许为空
        /// </summary>
        public string TagId { get; set; }
    }
}
